package com.ruoyi.grade.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.grade.domain.Grade;

/**
 * 成绩详情Service接口
 *
 * @author LinBei
 * @date 2025-05-15
 */
public interface IGradeService
{
    /**
     * 查询成绩详情
     *
     * @param gradeId 成绩详情主键
     * @return 成绩详情
     */
    public Grade selectGradeByGradeId(Long gradeId);

    /**
     * 查询成绩详情列表
     *
     * @param grade 成绩详情
     * @return 成绩详情集合
     */
    public List<Grade> selectGradeList(Grade grade);

    /**
     * 新增成绩详情
     *
     * @param grade 成绩详情
     * @return 结果
     */
    public int insertGrade(Grade grade);

    /**
     * 修改成绩详情
     *
     * @param grade 成绩详情
     * @return 结果
     */
    public int updateGrade(Grade grade);

    /**
     * 批量删除成绩详情
     *
     * @param gradeIds 需要删除的成绩详情主键集合
     * @return 结果
     */
    public int deleteGradeByGradeIds(Long[] gradeIds);

    /**
     * 删除成绩详情信息
     *
     * @param gradeId 成绩详情主键
     * @return 结果
     */
    public int deleteGradeByGradeId(Long gradeId);

    void calculateClassRanking();

    public List<Grade> selectGradeList_handteacher(String teacherId);

    public List<Grade> selectGradeList_Xiteacher(String teacherId);

    public List<Grade> selectGradeList_teacher(String teacherId);

    public List<Grade> selectGradeList_student(String teacherId);

    /**
     * 获取各分数段人数统计结果
     */
    Map<String, Integer> getGradeDistribution();

    public int insertGrades(List<Grade> gradeList);



    /**
     * 获取各分数段详细信息（包含分段名称）
     */
//    List<Map<String, Object>> getGradeDistributionDetails();
}
